from rest_framework import viewsets
from apps.comment.models import Comment
from apps.comment.serializers import CommentSerializer

class CommentViewSet(viewsets.ModelViewSet):
    queryset = Comment.objects
    serializer_class = CommentSerializer

    def get_queryset(self):
        # 确保返回标准的Django QuerySet
        return Comment.objects.all()

    # def perform_create(self, serializer):
    # 这个方法是在ModelViewSet或者任何继承自ModelViewSet的类中的钩子方法
    # 处理额外的创建前任务、修改数据、执行信号发送

    # DRF创建一个新的模型实例流程
    # 调用get_serializer()方法，传入请求数据，创建一个序列化器实例。
    # 调用序列化器的is_valid()方法来验证传入的数据。如果数据验证失败，将返回错误响应。
    # 如果数据验证成功，将调用perform_create()方法来实际创建模型对象。
    # perform_create()方法应该返回新创建的对象实例。
    # 然后，序列化器将使用这个新创建的对象实例来创建响应数据。
    # 最后，响应数据将被返回给客户端。